package com.boot2.core.dao.mybatis;


import java.lang.annotation.*;

/**
* @author zhangweilin
* @date 2019/11/6 11:44 
* @Description:  增强型主键声明，只用于mybatis
*/
@Documented  
@Retention(RetentionPolicy.RUNTIME)  
@Target(ElementType.FIELD)
public @interface Pk {
//    /**
//     * 默认为true,即为 主键字段
//     * @return
//     */
//    boolean value() default true;
    /**
     * @return id类型（默认为雪花id）
     */
    PkType value() default PkType.DEFAULT;

    /**
     * id类型
     */
    enum PkType {

        /**
         * 使用系统自带的，如果配置了全局，则走全局，如果没有配置全局，则为默认，此时一般为数据库自增
         */
        DEFAULT,
        /**
         * UUID去掉“-”
         */
        UUID,
        /**
         * 雪花id
         */
        SNOWFLAKE
    }
}
